home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 19.zip / BS1 part 19 / Lattice C disk 4.adf / Compiler_Headers / stdio.h < prev    next >
C/C++ Source or Header  |  1988-11-07  |  4KB  |  127 lines

  1. #ifndef fileno
  2. /**
  3. *
  4. * This header file defines the information used by the standard I/O
  5. * package.
  6. *
  7. **/
  8. #define _BUFSIZ 512        /* standard buffer size */
  9. #define BUFSIZ 512        /* standard buffer size */
  10. #define _NFILE 20        /* maximum number of files */
  11.  
  12. struct _iobuf
  13. {
  14. struct _iobuf *_next;
  15. unsigned char *_ptr;        /* current buffer pointer */
  16. int _rcnt;            /* current byte count for reading */
  17. int _wcnt;            /* current byte count for writing */
  18. unsigned char *_base;        /* base address of I/O buffer */
  19. int _size;            /* size of buffer */
  20. int _flag;            /* control flags */
  21. int _file;            /* file descriptor */
  22. unsigned char _cbuff;        /* single char buffer */
  23. };
  24.  
  25. extern struct _iobuf _iob[];
  26.  
  27. /**
  28. *
  29. * Definitions associated with _iobuf._flag
  30. *
  31. **/
  32. #define _IOFBF 0        /* fully buffered (for setvbuf) */
  33. #define _IOREAD 1        /* read flag */
  34. #define _IOWRT 2        /* write flag */
  35. #define _IONBF 4        /* non-buffered flag */
  36. #define _IOMYBUF 8        /* private buffer flag */
  37. #define _IOEOF 16        /* end-of-file flag */
  38. #define _IOERR 32        /* error flag */
  39. #define _IOLBF 64        /* line-buffered flag */
  40. #define _IORW 128        /* read-write (update) flag */
  41. #define _IOAPP 0x4000        /* append flag */
  42. #define _IOXLAT 0x8000        /* translation flag */
  43.  
  44. #ifndef NULL
  45. #define NULL 0L
  46. #endif
  47. #define FILE struct _iobuf    /* shorthand */
  48. #define EOF (-1)        /* end-of-file code */
  49.  
  50.  
  51. #define stdin (&_iob[0])    /* standard input file pointer */
  52. #define stdout (&_iob[1])    /* standard output file pointer */
  53. #define stderr (&_iob[2])    /* standard error file pointer */
  54.  
  55. #define getc(p) (--(p)->_rcnt>=0? *(p)->_ptr++:_filbf(p))
  56. #define getchar() getc(stdin)
  57. #define putc(c,p) (--(p)->_wcnt>=0 ?((int)(*(p)->_ptr++=(c))):_flsbf((unsigned char)(c),p))
  58. #define putchar(c) putc(c,stdout)
  59. #define feof(p) (((p)->_flag&_IOEOF)!=0)
  60. #define ferror(p) (((p)->_flag&_IOERR)!=0)
  61. #define fileno(p) (p)->_file
  62. #define rewind(fp) fseek(fp,0L,0)
  63. #define fflush(fp) _flsbf(-1,fp)
  64. #define clearerr(fp) clrerr(fp)
  65.  
  66. #ifndef __ARGS
  67. #ifdef NARGS
  68. #define __ARGS(a) ()
  69. #else
  70. #define __ARGS(a) a
  71. #endif
  72. #endif
  73.  
  74. #define printf __builtin_printf
  75. extern void clrerr __ARGS((FILE *));
  76. extern int fclose __ARGS((FILE *));
  77. extern int fcloseall __ARGS((void));
  78. extern FILE *fdopen __ARGS((int, char *));
  79. extern int fgetc __ARGS((FILE *));
  80. extern int fgetchar __ARGS((void));
  81. extern char *fgets __ARGS((char *, int, FILE *));
  82. extern int flushall __ARGS((void));
  83. extern int fmode __ARGS((FILE *, int));
  84. extern FILE *fopen __ARGS((char *, char *));
  85. extern int fprintf __ARGS((FILE *, char *,...));
  86. extern int _writes __ARGS((char *,...));
  87. extern int _tinyprintf __ARGS((char *,...));
  88. extern int fputc __ARGS((int, FILE *));
  89. extern int fputchar __ARGS((int));
  90. extern int fputs __ARGS((char *, FILE *));
  91. extern int fread __ARGS((char *, int, int, FILE *));
  92. extern FILE *freopen __ARGS((char *, char *, FILE *));
  93. extern int fscanf __ARGS((FILE*, char *,...));
  94. extern int fseek __ARGS((FILE *, long, int));
  95. extern long ftell __ARGS((FILE *));
  96. extern int fwrite __ARGS((char *, int, int, FILE *));
  97. extern char *gets __ARGS((char *));
  98. extern int printf __ARGS((char *,...));
  99. extern int puts __ARGS((char *));
  100. extern int scanf __ARGS((char *,...));
  101. extern int setbuf __ARGS((FILE *, char *));
  102. extern int setnbf __ARGS((FILE *));
  103. extern int setvbuf __ARGS((FILE*, char *, int, int));
  104. extern int sprintf __ARGS((char *, char *,...));
  105. extern int sscanf __ARGS((char *, char *,...));
  106. extern int ungetc __ARGS((int, FILE *));
  107. extern int _filbf __ARGS((FILE *));
  108. extern int _flsbf __ARGS((int, FILE *));
  109. extern int access __ARGS((char *, int));
  110. extern int chdir __ARGS((char *));
  111. extern int chmod __ARGS((char *, int));
  112. extern char *getcwd __ARGS((char *, int));
  113. extern int mkdir __ARGS((char *));
  114. extern int perror __ARGS((char *));
  115. extern int rename __ARGS((char *, char *));
  116. extern int unlink __ARGS((char *));
  117. extern int remove __ARGS((char *));
  118. extern int rmdir __ARGS((char *));
  119. #ifndef abs
  120. #define abs(x) ((x)<0?-(x):(x))
  121. #endif
  122. #ifndef max
  123. #define max(a,b) ((a)>(b)?(a):(b))
  124. #define min(a,b) ((a)<=(b)?(a):(b))
  125. #endif
  126. #endif
  127.